This reverts commit
c0c027c608d0aa1c547a2a82bd3ce6b84bb83b83. Because for
some reason animating external opacity and position is still incurring
internal repaints, which disables offscreening and makes fading of
overlapping actors look wrong. `ON_IDLE` should be fixed in mutter before
it is used (in boxpointer at least) again.
Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/2270
_init(arrowSide, binProperties) {
super._init();
- this.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
+ this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._arrowSide = arrowSide;
this._userArrowSide = arrowSide;
clip_to_allocation: true });
this._box._delegate = this;
this._container.add_actor(this._box);
- this._container.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
+ this._container.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._showAppsIcon = new ShowAppsIcon();
this._showAppsIcon.show(false);
track_hover: true,
can_focus: true,
});
- this._searchEntry.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
+ this._searchEntry.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
let searchEntryBin = new St.Bin({
child: this._searchEntry,
x_align: Clutter.ActorAlign.CENTER,
super._init({ name: 'panel',
reactive: true });
- this.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
+ this.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
this._sessionStyle = null;
// while actor updates are frozen.
let actorContent = Shell.util_get_content_for_window_actor(actor, oldFrameRect);
let actorClone = new St.Widget({ content: actorContent });
- actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ON_IDLE);
+ actorClone.set_offscreen_redirect(Clutter.OffscreenRedirect.ALWAYS);
actorClone.set_position(oldFrameRect.x, oldFrameRect.y);
actorClone.set_size(oldFrameRect.width, oldFrameRect.height);
Main.uiGroup.add_actor(actorClone);